﻿namespace AdvancedTraining;

// 引入所有Lesson的命名空间
using AdvancedTraining.Lesson35;
using AdvancedTraining.Lesson36;
using AdvancedTraining.Lesson37;
using AdvancedTraining.Lesson38;
using AdvancedTraining.Lesson39;
using AdvancedTraining.Lesson40;
using AdvancedTraining.Lesson41;
using AdvancedTraining.Lesson42;
using AdvancedTraining.Lesson43;
using AdvancedTraining.Lesson44;
using AdvancedTraining.Lesson45;
using AdvancedTraining.Lesson46;
using AdvancedTraining.Lesson47;
using AdvancedTraining.Lesson48;
using AdvancedTraining.Lesson49;
using AdvancedTraining.Lesson50;
using AdvancedTraining.Lesson51;
using AdvancedTraining.Lesson52;

public static class Program
{
    public static void Main()
    {
        Console.WriteLine("=== 开始运行大厂刷题班所有题目 ===");
        Console.WriteLine();

        // Lesson41 题目
        Console.WriteLine("--- Lesson41 ---");
        NextPermutation.Run();
        MagicGoToAim.Run();

        // Lesson42 题目
        Console.WriteLine("--- Lesson42 ---");
        IntegerToEnglishWords.Run();
        PaintHouseIi.Run();
        ClosestBinarySearchTreeValueIi.Run();
        BestMeetingPoint.Run();
        SelfCrossing.Run();

        // Lesson43 题目
        Console.WriteLine("--- Lesson43 ---");
        MinCostToYeahArray.Run();
        SumNoPositiveMinCost.Run();

        // Lesson44 题目
        Console.WriteLine("--- Lesson44 ---");
        StrobogrammaticNumberIii.Run();
        SubArraysWithKDifferentIntegers.Run();
        ShortestDistanceFromAllBuildings.Run();

        // Lesson45 题目
        Console.WriteLine("--- Lesson45 ---");
        FrogJump.Run();
        WordPatternIi.Run();
        SplitBuildingBlock.Run();
        PartitionArrayIntoTwoArraysToMinimizeSumDifference.Run();

        // Lesson46 题目
        Console.WriteLine("--- Lesson46 ---");
        WordSquares.Run();
        PerfectRectangle.Run();
        MaxSumOfRectangleNoLargerThanK.Run();
        MinimumUniqueWordAbbreviation.Run();
        WordAbbreviation.Run();

        // Lesson47 题目
        Console.WriteLine("--- Lesson47 ---");
        Lesson47.CountOfSmallerNumbersAfterSelf.Run();
        DynamicSegmentTree.Run();
        DynamicSegmentTree02.Run();
        RearrangeStringKDistanceApart.Run();
        SerializeAndDeserializeNaryTree.Run();
        Heaters.Run();
        OptimalAccountBalancing.Run();

        // Lesson48 题目
        Console.WriteLine("--- Lesson48 ---");
        MinKthPairMinusAbs.Run();
        ConcatenatedWords.Run();
        TheMazeIii.Run();

        // Lesson49 题目
        Console.WriteLine("--- Lesson49 ---");
        SplitArrayEithEqualSum.Run();
        RobotRoomCleaner.Run();
        CombinationSumIV.Run();
        ArithmeticSlicesIiSubsequence.Run();
        WordAbbreviation.Run();

        // Lesson50 题目
        Console.WriteLine("--- Lesson50 ---");
        NonnegativeIntegersWithoutConsecutiveOnes.Run();
        MaximumVacationDays.Run();
        ErectTheFence.Run();
        DesignInMemoryFileSystem.Run();

        // Lesson51 题目
        Console.WriteLine("--- Lesson51 ---");
        CourseScheduleIii.Run();
        DesignSearchAutocompleteSystem.Run();
        KokoEatingBananas.Run();
        ProgrammableRobot.Run();

        // Lesson52 题目
        Console.WriteLine("--- Lesson52 ---");
        KEmptySlots.Run();
        CoinPath.Run();
        AvoidFloodInTheCity.Run();

        Console.WriteLine();
        Console.WriteLine("=== 大厂刷题班所有题目运行完成 ===");
    }
}